package com.zivwu.library.utils;

import android.text.TextUtils;

import java.util.regex.Pattern;

/**
 * 用于校验数据
 */

public class Validator {
    /**
     * 2016.12
     * 移动号段：
     * 134 135 136 137 138 139 147 150 151 152 157 158 159 178 182 183 184 187 188
     * 联通号段：
     * 130 131 132 145 155 156 171 175 176 185 186
     * 电信号段：
     * 133 149 153 173 177 180 181 189
     * 虚拟运营商:
     * 170
     * <p>
     * 手机号码校验正则表达式
     * 13后面数字都可以
     * 14 5，7，9
     * 15 012356789
     * 17 0135678
     * 18后面都可以
     */
    private static final String REGEX_MOBILE = "^1(([38]\\d)|(4[579])|(5[^4])|(7[^429]))\\d{8}$";

    /**
     * 正则表达式：验证密码
     */
    private static final String REGEX_PASSWORD = "^\\w{6,20}$";

    /**
     * 正则表达式：验证邮箱
     */
    private static final String REGEX_EMAIL = "^(\\w+[-|\\\\.]?)+\\w@(\\w+(-\\w+)?\\\\.)+[a-zA-Z]{2,}$";


    /**
     * 校验 phone
     *
     * @param phone String
     * @return 是电话true, 不是false
     */
    public static boolean isPhone(String phone) {
        return !TextUtils.isEmpty(phone) && Pattern.matches(REGEX_MOBILE, phone);
    }

    /**
     * 校验 email
     *
     * @param email
     * @return 校验通过返回true，否则返回false
     */
    public static boolean isEmail(String email) {
        return !TextUtils.isEmpty(email) && Pattern.matches(REGEX_EMAIL, email);
    }


    /**
     * 校验 password
     *
     * @param password
     * @return 校验通过返回true，否则返回false
     */
    public static boolean isPassword(String password) {
        return !TextUtils.isEmpty(password) && Pattern.matches(REGEX_PASSWORD, password);
    }

}
